 int BitCount1( int n)
    {
        int c =0 ; // 计数器
        while (n >0)
        {
            if((n &1) ==1) // 当前位是1
                ++c ; // 计数器加1
            n >>=1 ; // 移位
        }
        return c ;
    }
    
 int BitCount2( int n)
    {
        int c =0 ;
        for (c =0; n>0; ++c)
        {
            n &= (n - 1) ; // 清除最低位的1   1000 & 0111 = 0  1111 & 1110 = 1110 
        }
        return c ;
    }